#include "TestCtrl.h"
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string>
#include <string.h>

using namespace std;

// string getallip()
// {
//     string top = ",";
//     string ipdata = "";
//     MYSQL mysql;
//     mysql_init(&mysql);
//     mysql_real_connect(&mysql, "localhost", "root", "20170103", "test", 3306, NULL, 0);

//     string sql = "select * from ipaddr";
//     mysql_query(&mysql, sql.c_str());

//     MYSQL_RES *result = NULL;
//     result = mysql_store_result(&mysql);

//     // 得到查询出来所有数据的条数
//     int row_count = mysql_num_rows(result);
//     // cout << "all data number: " << row_count << endl;

//     // 得到字段的个数和字段的名字
//     int field_count = mysql_num_fields(result);
//     // cout << "field count : " << field_count << endl;

//     // 得到所有字段的名字
//     MYSQL_FIELD *field = NULL;
//     for (int i = 0; i < field_count; ++i)
//     {
//         field = mysql_fetch_field_direct(result, i);
//         cout << field->name << "\t";
//     }
//     cout << endl;

//     // 显示表中的所有数据
//     MYSQL_ROW row = NULL;
//     row = mysql_fetch_row(result);
//     cout << row << endl;
//     while (NULL != row)
//     {
//         for (int i = 0; i < field_count; ++i)
//         {
//             if (i == 0)
//             {
//                 ipdata = ipdata + row[i];
//             }
//             ipdata = ipdata + top + row[i];
//         }
//         cout << endl;
//         row = mysql_fetch_row(result);
//     }

//     mysql_free_result(result);

//     mysql_close(&mysql);
//     return ipdata;
// }
void TestCtrl::asyncHandleHttpRequest(const HttpRequestPtr &req,
                                      std::function<void(const HttpResponsePtr &)> &&callback)
{
    auto resp = HttpResponse::newHttpResponse();
    resp->setStatusCode(k200OK);
    resp->setContentTypeCode(CT_TEXT_HTML);
    resp->setBody("8");
    callback(resp);
}

void MyClass::asyncHandleHttpRequest(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback)
{
    auto resp = HttpResponse::newHttpResponse();
    resp->setStatusCode(k200OK);
    resp->setContentTypeCode(CT_TEXT_HTML);
    resp->setBody("on");
    callback(resp);

    // write your application logic here
}
